package com.py.sale.domain;

import java.math.BigDecimal;
import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.springframework.data.annotation.Transient;

/**
 * 销售对象 od_sale
 * 
 * @author 童佳
 * @date 2024-12-03
 */
public class OdSale extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    @Excel(name = "序号")
    private Integer saleId;

    /** 销售单号 */
    @Excel(name = "销售单号")
    private String saleCode;

    /** 单据状态 */
    @Excel(name = "单据状态")
    private String saleState;

    /** 销售日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "销售日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date saleTime;

    /** 客户名称 */
    @Excel(name = "客户名称")
    private String customer;

    /** 联系人 */
    @Excel(name = "联系人")
    private String contacts;

    /** 联系方式 */
    @Excel(name = "联系方式")
    private String phone;

    /** 销售部门 */
    @Excel(name = "销售部门")
    private Integer saleDept;

    /** 销售负责人 */
    @Excel(name = "销售负责人")
    private String salePerson;

    /** 备注 */
    @Excel(name = "备注")
    private String saleRemark;

    /** 销售数量 */
    @Excel(name = "销售数量")
    private Integer saleNum;

    /** 销售金额 */
    @Excel(name = "销售金额")
    private BigDecimal saleMoney;

    /** 所在部门 */
    @Excel(name = "所在部门")
    private String createDept;

    /** 审核人 */
    @Excel(name = "审核人")
    private String reviewer;

    /** 审核理由 */
    private String reviewerReport;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reviewerTime;

    /** 逻辑删除 */
    private String isDel;

    @Transient
    private Integer number;
    @Transient
    private Integer codeId;

    @Transient
    private String deptName;
    @Transient
    private String proNames;

    @Transient
    private List<Object> fileList;

    public List<Object> getFileList() {
        return fileList;
    }

    public void setFileList(List<Object> fileList) {
        this.fileList = fileList;
    }

    /** $table.subTable.functionName信息 */
    private List<OdSaleDetails> odSaleDetailsList;

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getProNames() {
        return proNames;
    }

    public void setProNames(String proNames) {
        this.proNames = proNames;
    }

    public Integer getNumber() {
        return number;
    }

    public void setNumber(Integer number) {
        this.number = number;
    }

    public Integer getCodeId() {
        return codeId;
    }

    public void setCodeId(Integer codeId) {
        this.codeId = codeId;
    }

    public void setSaleId(Integer saleId)
    {
        this.saleId = saleId;
    }

    public Integer getSaleId() 
    {
        return saleId;
    }
    public void setSaleCode(String saleCode) 
    {
        this.saleCode = saleCode;
    }

    public String getSaleCode() 
    {
        return saleCode;
    }
    public void setSaleState(String saleState) 
    {
        this.saleState = saleState;
    }

    public String getSaleState() 
    {
        return saleState;
    }
    public void setSaleTime(Date saleTime) 
    {
        this.saleTime = saleTime;
    }

    public Date getSaleTime() 
    {
        return saleTime;
    }
    public void setCustomer(String customer) 
    {
        this.customer = customer;
    }

    public String getCustomer() 
    {
        return customer;
    }
    public void setContacts(String contacts) 
    {
        this.contacts = contacts;
    }

    public String getContacts() 
    {
        return contacts;
    }
    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }
    public void setSaleDept(Integer saleDept) 
    {
        this.saleDept = saleDept;
    }

    public Integer getSaleDept() 
    {
        return saleDept;
    }
    public void setSalePerson(String salePerson) 
    {
        this.salePerson = salePerson;
    }

    public String getSalePerson() 
    {
        return salePerson;
    }
    public void setSaleRemark(String saleRemark) 
    {
        this.saleRemark = saleRemark;
    }

    public String getSaleRemark() 
    {
        return saleRemark;
    }
    public void setSaleNum(Integer saleNum) 
    {
        this.saleNum = saleNum;
    }

    public Integer getSaleNum() 
    {
        return saleNum;
    }
    public void setSaleMoney(BigDecimal saleMoney) 
    {
        this.saleMoney = saleMoney;
    }

    public BigDecimal getSaleMoney() 
    {
        return saleMoney;
    }
    public void setCreateDept(String createDept) 
    {
        this.createDept = createDept;
    }

    public String getCreateDept() 
    {
        return createDept;
    }
    public void setReviewer(String reviewer) 
    {
        this.reviewer = reviewer;
    }

    public String getReviewer() 
    {
        return reviewer;
    }
    public void setReviewerReport(String reviewerReport) 
    {
        this.reviewerReport = reviewerReport;
    }

    public String getReviewerReport() 
    {
        return reviewerReport;
    }
    public void setReviewerTime(Date reviewerTime) 
    {
        this.reviewerTime = reviewerTime;
    }

    public Date getReviewerTime() 
    {
        return reviewerTime;
    }
    public void setIsDel(String isDel) 
    {
        this.isDel = isDel;
    }

    public String getIsDel() 
    {
        return isDel;
    }

    public List<OdSaleDetails> getOdSaleDetailsList()
    {
        return odSaleDetailsList;
    }

    public void setOdSaleDetailsList(List<OdSaleDetails> odSaleDetailsList)
    {
        this.odSaleDetailsList = odSaleDetailsList;
    }


    @Override
    public String toString() {
        return "OdSale{" +
                "saleId=" + saleId +
                ", saleCode='" + saleCode + '\'' +
                ", saleState='" + saleState + '\'' +
                ", saleTime=" + saleTime +
                ", customer='" + customer + '\'' +
                ", contacts='" + contacts + '\'' +
                ", phone='" + phone + '\'' +
                ", saleDept=" + saleDept +
                ", salePerson='" + salePerson + '\'' +
                ", saleRemark='" + saleRemark + '\'' +
                ", saleNum=" + saleNum +
                ", saleMoney=" + saleMoney +
                ", createDept='" + createDept + '\'' +
                ", reviewer='" + reviewer + '\'' +
                ", reviewerReport='" + reviewerReport + '\'' +
                ", reviewerTime=" + reviewerTime +
                ", isDel='" + isDel + '\'' +
                ", number=" + number +
                ", codeId=" + codeId +
                ", deptName='" + deptName + '\'' +
                ", proNames='" + proNames + '\'' +
                ", fileList=" + fileList +
                ", odSaleDetailsList=" + odSaleDetailsList +
                '}';
    }
}
